package com.potenzacd.project.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.potenzacd.project.pojo.PdInfoReqsModule;
import com.potenzacd.project.pojo.ProductApprovalInfo;
import com.potenzacd.project.pojo.ProductInfo;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Cuidongdong
 * @since 2021-01-26
 */
public interface IPdInfoReqsModuleService extends IService<PdInfoReqsModule> {
    /**
     * 产品功能需求模块存为草稿(创建)
     * @param productInfo 要保存的信息
     */
    public void save4Draft(ProductInfo productInfo);


    /**
     * 产品功能需求模块提交审核(创建)
     * @param productInfo 要提交审核的信息
     */
    public void save4Approval(ProductInfo productInfo);


    /**
     * 产品功能需求模块存为草稿(修改)
     * @param productInfo 要修改的信息
     */
    public void edit4Draft(ProductInfo productInfo);


    /**
     * 产品功能需求模块提交审核(修改)
     * @param productInfo 要提交审核的信息
     */
    public void edit4Approval(ProductInfo productInfo);


//    /**
//     * 产品功能需求提交审核(修订)
//     * @param pdInfoReqs  要提交审核的信息
//     */
//    public void revise(PdInfoReqs pdInfoReqs);

    /**
     * 产品功能需求模块审核通过
     * @param productApprovalInfo 审核记录
     */
    public void  pass(ProductApprovalInfo productApprovalInfo);


    /**
     * 产品功能需求模块审核不通过
     * @param productApprovalInfo 审核记录
     */
    public void  notPass(ProductApprovalInfo productApprovalInfo);


    /**
     * 产品功能需求模块再次审核
     * 审核失败之后,进行信息的修订,之后提交审核
     * @param productInfo 要审核的信息
     */
    public void revise (ProductInfo productInfo);


    /**
     * 产品功能需求模块作废
     * @param code 要作废的信息标识
     */
    public void abort(String code);


    /**
     * 产品功能需求模块查看详情
     * @param code 要查看的标识
     * @return 详情信息
     */
    public PdInfoReqsModule detail(String code);
}
